ソーシャルゲームの負荷試験についてミニセッションを行いました #AWSSummit
こんにちは。ゲームソリューション部の出村です。先日開催されたAWS Summit Tokyo 2023の当社ブースにおいて「ソーシャルゲームの負荷試験 ご紹介」というミニセッションを開催しました。このエントリーでは、そのミニセッションについて書いていきます。
発表で使用したスライド
発表に使用したスライドは次のとおりです。
セッションの内容など
詳細についてはスライドを見ていただくとわかりますので、本エントリーでは特に強調したいことをつらつらと書いていきます。
負荷試験の重要性について
まず負荷試験についてご存知のない方向けに負荷試験とはどういった内容かを解説しました。負荷試験とはサービスリリース時に想定されるアクセスや挙動を負荷試験用ソフトウェアを使って擬似的に再現し、想定したアクセスに対しサーバーが想定通りに振る舞うかを確認するためのテストを指します。
この試験をしっかり実施しておかないと、リリース初日に緊急メンテを入れてサービスを一時中断しなくてはいけなくなったり、リリースから日が経つにつれサーバのレスポンス速度が遅くなるなど、いろいろと不具合が発生するハメに陥ることがあります。
ちなみにですが、AWSなどのクラウドサービス上にインフラを構築したからといって負荷試験が不要だということは一切ありません。
負荷試験で確認すること
負荷試験で確認することとして想定したアクセス負荷に耐えられるかどうかということを確認することは大事ですが、その他にサーバの特性を確認するといったことも大事です。というもの、例えばあらかじめ想定していた以上のサーバーアクセスが来た場合を考慮し、何をどのようにスケールアウトしていけばよいのか方向性もあらかじめ把握しておく必要があります。これを確認しておかないと、その状態になった時、一定以上のユーザが遊べないこととなり最終的に機会損失につながります。
AWSなのでスケールアウト・スケールインといったことは融通が利きますが、ソフトウェアなどの作りによって自ずとアクセス可能なユーザ数の上限が決まってきます。
負荷試験の進め方
負荷試験は大きな流れでいうと「計画を立て」「試験を実施し」「結果を基に改善」「再度試験を実施」といった流れで行われます。この流れに関しては、基本的にソーシャルゲーム以外のWebサービスの負荷試験での流れと大きく違いません。ただし、負荷試験で実行するシナリオはソーシャルゲーム特有の流れがあるなど、やはりいくつか注意すべきポイントはあります。
リリース前は大忙し
このような負荷試験はサービスのリリース前に行いますが、その時期には負荷試験以外にもサービスのリリース準備などさまざまな業務が並行して行われる忙しい時期でもあります。
クラスメソッドには、そのようなソーシャルゲームの開発や運用の経験があるメンバーがいますので負荷試験と並行して進められている各種業務についても内容や業務の優先度等について理解しており、そのような事情を考慮してお話することが可能です。
まとめ
ソーシャルゲームのリリース日のアクセス数はえげつない事もよくありますが、それらの事情を考慮して対応できます。負荷試験について気になることがあれば、当社までご連絡いただければと思います。